package store.lunangangster.bpmn.constant;

/**
 * Bpmn中的xml常量定义，实现该对象的parser用于xml解析
 *
 * @author cwk
 * @version 1.0
 */
public interface BpmnXmlConstant {

  // ##################### element #####################
  public static final String ELEMENT_DEFINITIONS = "definitions";
  public static final String ELEMENT_DOCUMENTATION = "documentation";
  public static final String ELEMENT_MESSAGE = "message";
  public static final String ELEMENT_PROCESS = "process";
  public static final String ELEMENT_SUBPROCESS = "subProcess";
  public static final String ELEMENT_TRANSACTION = "transaction";
  public static final String ELEMENT_SEQUENCE_FLOW = "sequenceFlow";
  public static final String ELEMENT_CONDITION_EXPRESSION = "conditionExpression";
  public static final String ELEMENT_EVENT_START = "startEvent";
  public static final String ELEMENT_EVENT_END = "endEvent";
  public static final String ELEMENT_EVENT_CATCH = "intermediateCatchEvent";
  public static final String ELEMENT_EVENT_THROW = "intermediateThrowEvent";
  public static final String ELEMENT_EVENT_BOUNDARY = "boundaryEvent";
  public static final String ELEMENT_TASK_NONE = "task";
  public static final String ELEMENT_TASK_USER = "userTask";
  public static final String ELEMENT_GATEWAY_EXCLUSIVE = "exclusiveGateway";
  public static final String ELEMENT_GATEWAY_INCLUSIVE = "inclusiveGateway";
  public static final String ELEMENT_GATEWAY_PARALLEL = "parallelGateway";
  public static final String ELEMENT_GATEWAY_EVENT = "eventBasedGateway";
  public static final String ELEMENT_RESOURCE_ROLE = "resourceRole";
  public static final String ELEMENT_POTENTIAL_OWNER = "potentialOwner";
  public static final String ELEMENT_HUMAN_PERFORMER = "humanPerformer";
  public static final String ELEMENT_RESOURCE_ASSIGNMENT = "resourceAssignmentExpression";
  public static final String ELEMENT_FORMAL_EXPRESS = "formalExpression";
  public static final String ELEMENT_RESOURCE_REF = "resourceRef";
  public static final String ELEMENT_TIME_DATE = "timeDate";
  public static final String ELEMENT_TIME_DURATION = "timeDuration";
  public static final String ELEMENT_TIME_CYCLE = "timeCycle";

  // ################### eventDefinition-name ###################
  public static final String EVENT_DEFINITION_TIMER = "timerEventDefinition";
  public static final String ELEMENT_DEFINITION_MESSAGE = "messageEventDefinition";

  // ################### attribute-name ###################
  public static final String ATTRIBUTE_COMMON_ID = "id";
  public static final String ATTRIBUTE_COMMON_NAME = "name";
  public static final String ATTRIBUTE_COMMON_REF = "attachedToRef";
  public static final String ATTRIBUTE_MESSAGE_REF = "messageRef";
  public static final String ATTRIBUTE_TARGET_NAMESPACE = "targetNamespace";
  public static final String ATTRIBUTE_PROCESS_EXECUTABLE = "isExecutable";
  public static final String ATTRIBUTE_SEQUENCE_FLOW_SOURCE = "sourceRef";
  public static final String ATTRIBUTE_SEQUENCE_FLOW_TARGET = "targetRef";
  public static final String ATTRIBUTE_ACTIVITY_COMPENSATION = "isForCompensation";
  public static final String ATTRIBUTE_ACTIVITY_DEFAULT = "default";
  public static final String ATTRIBUTE_EVENT_START_INTERRUPTING = "isInterrupting";
  public static final String ATTRIBUTE_GATEWAY_DEFAULT = "default";
  public static final String ATTRIBUTE_GATEWAY_EVENT_TYPE = "eventGatewayType";

  // ################### attribute-value ###################
  public static final String ATTRIBUTE_VALUE_TRUE = "true";
  public static final String ATTRIBUTE_VALUE_FALSE = "false";
  public static final String ATTRIBUTE_VALUE_INSTANTIATE = "instantiate";
  public static final String ATTRIBUTE_VALUE_EXCLUSIVE = "exclusive";
  public static final String ATTRIBUTE_VALUE_PARALLEL = "parallel";

}
